package com.yuntuzhilian.chapter3.demo1;

/**
 * @author MrWang-shuizhishuiheshui
 * @description 狗类
 */
public class Dog {
    /**
     *  static : 静态  提前加载
     *      1.修饰属性 可以通过 类名.属性名 的方式直接调用
     *      2.修饰方法 可以通过 类名.方法名() 的方式直接调用
     *          静态方法中的成员变量也必须是静态属性
     *      3.修饰代码块
     */

//    static{
//        //静态代码块
//    }


    //属性
    String name;
    int age;
    String strain;

    /**
     * 构造方法 : 访问修饰符public + 方法名必须和类名一致 + 方法体
     *    作用 : 实例化对象(构造对象)
     *
     * 默认情况下,无参构造由jvm提供好,直接使用
     * 如果手动提供有参构造,则jvm不在提供默认的无参构造
     *
     * 默认的无参构造,在实际的使用过程中,
     * 只需要手动提供即可,不需要再方法体中编写代码
     *
     */
    public Dog(){

    }

    /**
     * 有参构造方法
     *
     * 方法的重载 : 1.方法名相同
     *              2.参数列表不同
     *              3.与访问修饰符和返回值类型无关
     *
     */
    public Dog(String name,int age,String strain){
        this.name=name;
        this.age=age;
        this.strain=strain;
    }



    //方法
    public void show(){
        System.out.println(name+age+strain);
    }

}
